package com.db.mongo;

import java.util.ArrayList;
import java.util.List;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoDatabase;

public class MongoDBJDBCAuth {
	private static final String source = "admin";

	@SuppressWarnings("resource")
	public static void main(String[] args) {
		// 连接到MongoDB服务 如果是远程连接可以替换“localhost”为服务器所在IP地址
		// ServerAddress()两个参数分别为 服务器地址 和 端口
		ServerAddress serverAddress = new ServerAddress("localhost", 27017);
		List<ServerAddress> addrs = new ArrayList<ServerAddress>();
		addrs.add(serverAddress);

		// MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码
		MongoCredential credential = MongoCredential.createScramSha1Credential("admin", source,
				"game2014".toCharArray());
		List<MongoCredential> credentials = new ArrayList<MongoCredential>();
		credentials.add(credential);

		// 通过连接认证获取MongoDB连接
		MongoClient mongoClient = new MongoClient(addrs, credentials);

		// 连接到数据库
		MongoDatabase mongoDatabase = mongoClient.getDatabase(source);
		System.out.println(String.format("Connect to database [%s] successfully", mongoDatabase.getName()));
	}
}